<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>File Control Block</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/File_Control_Block"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-File_Control_Block rootpage-File_Control_Block skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">File Control Block</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1305433154">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1248332772">
/* start https://en.wikipedia.org/ */
.mw-parser-output .multiple-issues-text{width:95%;margin:0.2em 0}.mw-parser-output .multiple-issues-text>.mw-collapsible-content{margin-top:0.3em}.mw-parser-output .compact-ambox .ambox{border:none;border-collapse:collapse;background-color:transparent;margin:0 0 0 1.6em!important;padding:0!important;width:auto;display:block}body.mediawiki .mw-parser-output .compact-ambox .ambox.mbox-small-left{font-size:100%;width:auto;margin:0}.mw-parser-output .compact-ambox .ambox .mbox-text{padding:0!important;margin:0!important}.mw-parser-output .compact-ambox .ambox .mbox-text-span{display:list-item;line-height:1.5em;list-style-type:disc}body.skin-minerva .mw-parser-output .multiple-issues-text>.mw-collapsible-toggle,.mw-parser-output .compact-ambox .ambox .mbox-image,.mw-parser-output .compact-ambox .ambox .mbox-imageright,.mw-parser-output .compact-ambox .ambox .mbox-empty-cell,.mw-parser-output .compact-ambox .hide-when-compact{display:none}
/* end https://en.wikipedia.org/ */
</style>
<p>
A <b>File Control Block</b> (<b>FCB</b>) is a file system structure in which the state of an open <a href="Computer_file" title="Computer file">file</a> is maintained. A FCB is managed by the operating system, but it resides in the memory of the program that uses the file, not in operating system memory. This allows a process to have as many files open at one time as it wants, provided it can spare enough memory for an FCB per file.
</p><p>The FCB originates from <a href="CP/M" title="CP/M">CP/M</a> and is also present in most variants of <a href="DOS" title="DOS">DOS</a>, though only as a backward compatibility measure in <a href="MS-DOS" title="MS-DOS">MS-DOS</a> versions 2.0 and later. A full FCB is 36 bytes long; in early versions of CP/M, it was 33 bytes. This fixed size, which could not be increased without breaking application compatibility, led to the FCB's eventual demise as the standard method of accessing files.
</p><p>The meanings of several of the fields in the FCB differ between CP/M and DOS, and also depending on what operation is being performed. The following fields have consistent meanings:<sup id="cite_ref-stanislavs_1-0" class="reference"><a href="#cite_note-stanislavs-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<table class="wikitable">
<tbody><tr>
<th>Offset</th>
<th>Byte<br>size</th>
<th>Contents
</th></tr>
<tr>
<td>0x00
</td>
<td align="right">1</td>
<td>Drive number — 0 for default, 1 for A:, 2 for B:, ...
</td></tr>
<tr>
<td>0x01
</td>
<td align="right">8
</td>
<td rowspan="2">File name and <a href="Filename_extension" title="Filename extension">extension</a> — together these form a <a href="8.3_filename" title="8.3 filename">8.3 file name</a>.
</td></tr>
<tr>
<td>0x09
</td>
<td align="right">3
</td></tr>
<tr>
<td>0x0C
</td>
<td align="right">20</td>
<td>Implementation dependent — should be initialised to zero before the FCB is opened.
</td></tr>
<tr>
<td>0x20
</td>
<td align="right">1</td>
<td>Record number in the current section of the file — used when performing <a href="Sequential_access" title="Sequential access">sequential access</a>.
</td></tr>
<tr>
<td>0x21
</td>
<td align="right">3</td>
<td>Record number to use when performing <a href="Random_access" title="Random access">random access</a>.
</td></tr></tbody></table>
<p>The 20-byte-long field starting at offset 0x0C contained fields which (among others) provided further information about the file:<sup id="cite_ref-Programacion_Ensamblador_MSDOS_2-0" class="reference"><a href="#cite_note-Programacion_Ensamblador_MSDOS-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<table class="wikitable">
<tbody><tr>
<th>Offset</th>
<th>Byte<br>size</th>
<th>Contents
</th></tr>
<tr>
<td>0x0E
</td>
<td align="right">2</td>
<td>File's record length in bytes.
</td></tr>
<tr>
<td>0x10
</td>
<td align="right">4</td>
<td>Total file size in bytes.
</td></tr>
<tr>
<td>0x14
</td>
<td align="right">2</td>
<td>Date of last modification to file contents.
</td></tr>
<tr>
<td>0x16
</td>
<td align="right">2</td>
<td>Time of last modification.
</td></tr></tbody></table>
<p>Further values were used by newer versions of DOS until new information could no longer fit in these 20 bytes. Some preceding "negative offset" bytes were squeezed from reserved spaces in CP/M Zero Page and DOS <a href="Program_Segment_Prefix" title="Program Segment Prefix">Program Segment Prefix</a> for storing file attributes.<sup id="cite_ref-stanislavs_1-1" class="reference"><a href="#cite_note-stanislavs-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Usage">Usage</h2></div>
<p>In CP/M, <a href="86-DOS" title="86-DOS">86-DOS</a> and <a href="PC_DOS" class="mw-redirect" title="PC DOS">PC DOS</a> 1.x/MS-DOS 1.xx, the FCB was the only method of accessing files. Under DOS a few INT 21h subfunctions provided the interface to operate on files using the FCB.<sup id="cite_ref-stanislavs_1-2" class="reference"><a href="#cite_note-stanislavs-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-0" class="reference"><a href="#cite_note-Duncan_1988_MS-DOS_Encyclopedia-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Chappell_1994_DOS-Internals_4-0" class="reference"><a href="#cite_note-Chappell_1994_DOS-Internals-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> When, with MS-DOS 2, preparations were made to support multiple processes or users,<sup id="cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-1" class="reference"><a href="#cite_note-Duncan_1988_MS-DOS_Encyclopedia-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Chappell_1994_DOS-Internals_4-1" class="reference"><a href="#cite_note-Chappell_1994_DOS-Internals-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> use other filesystems<sup id="cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-2" class="reference"><a href="#cite_note-Duncan_1988_MS-DOS_Encyclopedia-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Chappell_1994_DOS-Internals_4-2" class="reference"><a href="#cite_note-Chappell_1994_DOS-Internals-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> than FAT or to share files<sup id="cite_ref-Chappell_1994_DOS-Internals_4-3" class="reference"><a href="#cite_note-Chappell_1994_DOS-Internals-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> over networks in the future, FCBs were felt to be too small to handle the extra data required for such features<sup id="cite_ref-Chappell_1994_DOS-Internals_4-4" class="reference"><a href="#cite_note-Chappell_1994_DOS-Internals-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> and therefore FCBs were seen as inadequate for various future expansion paths.<sup id="cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-3" class="reference"><a href="#cite_note-Duncan_1988_MS-DOS_Encyclopedia-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Also, they didn't provide a field to specify sub-directories.<sup id="cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-4" class="reference"><a href="#cite_note-Duncan_1988_MS-DOS_Encyclopedia-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Exposing file system related data to user-space was also seen as a security risk.<sup id="cite_ref-Chappell_1994_DOS-Internals_4-5" class="reference"><a href="#cite_note-Chappell_1994_DOS-Internals-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> FCBs were thus superseded by <a href="File_handle" class="mw-redirect" title="File handle">file handles</a>, as used on <a href="UNIX" class="mw-redirect" title="UNIX">UNIX</a> and its derivatives.<sup id="cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-5" class="reference"><a href="#cite_note-Duncan_1988_MS-DOS_Encyclopedia-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> File handles are simply consecutive integer numbers associated with specific open files.
</p><p>If a program uses the newer file handle API to open a file, the operating system will manage its internal data structure associated with that file in its own memory area. This has the great advantage that these structures can grow in size in later operating system versions without breaking compatibility with application programs; its disadvantage is that, given the rather simplistic <a href="Memory_management" title="Memory management">memory management</a> of DOS, space for as many of these structures as the most "file-hungry" program is likely to use has to be reserved at boot time and cannot be used for any other purpose while the computer is running. Such memory reservation is done using the <a href="FILES_(CONFIG.SYS_directive)" class="mw-redirect" title="FILES (CONFIG.SYS directive)">FILES</a>= directive in the <a href="CONFIG.SYS" title="CONFIG.SYS">CONFIG.SYS</a> file. This problem does not occur with FCBs in DOS 1 or in CP/M, since the operating system stores all that it needs to know about an open file inside the FCB and thus does not need to use any per-file memory in operating system memory space. When using FCBs in MS-DOS 3 or later, the FCB format depends on whether SHARE.EXE is loaded and whether the FCB refers to a local or remote file and often refers to a SFT entry. Because of this, the number of FCBs which can be kept open at once in DOS 3 or higher is limited as well, usually to 4; using the <a href="FCBS_(CONFIG.SYS_directive)" class="mw-redirect" title="FCBS (CONFIG.SYS directive)">FCBS</a>= directive in the CONFIG.SYS file, it may be increased beyond that number if necessary. Under <a href="DR-DOS" title="DR-DOS">DR-DOS</a>, both FILES and FCBS come from the same internal pool of available handles structures and are assigned dynamically as needed.<sup id="cite_ref-Paul_1997_NWDOSTIP_5-0" class="reference"><a href="#cite_note-Paul_1997_NWDOSTIP-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>FCBs were supported in all versions of MS-DOS and <a href="Microsoft_Windows" title="Microsoft Windows">Windows</a> until the introduction of the <a href="FAT32" class="mw-redirect" title="FAT32">FAT32</a> filesystem. <a href="Windows_95" title="Windows 95">Windows 95</a>, <a href="Windows_98" title="Windows 98">Windows 98</a> and <a href="Windows_Me" title="Windows Me">Windows Me</a> do not support the use of FCBs on FAT32 drives due to its 32-bit cluster numbers,<sup id="cite_ref-Chappell_1994_DOS-Internals_4-6" class="reference"><a href="#cite_note-Chappell_1994_DOS-Internals-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> except to read the volume label. This caused some old DOS applications, including <a href="WordStar" title="WordStar">WordStar</a>, to fail under these versions of Windows.
</p><p>The FCB interface does not work properly on <a href="Windows_NT" title="Windows NT">Windows NT</a>, <a href="Windows_2000" title="Windows 2000">2000</a>, etc. either – WordStar does not function properly on these operating systems. DOS emulators <a href="DOSEMU" title="DOSEMU">DOSEMU</a> and <a href="DOSBox" title="DOSBox">DOSBox</a> implement the FCB interface properly, thus they are a way to run older DOS programs that need FCBs on modern operating systems.
</p>
<div class="mw-heading mw-heading2"><h2 id="Disk_Transfer_Area">Disk Transfer Area</h2></div>
<p>A companion data structure used together with the FCB was the <b>Disk Transfer Area</b> (DTA).<sup id="cite_ref-Programacion_Ensamblador_MSDOS_2-1" class="reference"><a href="#cite_note-Programacion_Ensamblador_MSDOS-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> This is the name given to the buffer where file contents (records) would be read into/written from. File access functions in DOS that used the FCB assumed a fixed location for the DTA, initially pointing to a part of the PSP (see next section); this location could be changed by calling a DOS function, with subsequent file accesses implicitly using the new location.
</p><p>With the deprecation of the FCB method, the new file access functions which used file handles also provided a means to specify a memory buffer for file contents with every function call, such that maintaining concurrent, independent buffers (either for different files or for the same file) became much more practical.
</p>
<div class="mw-heading mw-heading2"><h2 id="Program_Segment_Prefix_&_Program_Initialisation">Program Segment Prefix & Program Initialisation</h2></div>
<p>Every DOS executable started from the shell (<a href="COMMAND.COM" title="COMMAND.COM">COMMAND.COM</a>) was provided with a pre-filled 256-byte long data structure called the <i><a href="Program_Segment_Prefix" title="Program Segment Prefix">Program Segment Prefix</a></i> (PSP). Relevant fields within this structure include:<sup id="cite_ref-Programacion_Ensamblador_MSDOS_2-2" class="reference"><a href="#cite_note-Programacion_Ensamblador_MSDOS-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<table class="wikitable">
<tbody><tr>
<th>Offset</th>
<th>Byte<br>size</th>
<th>Contents
</th></tr>
<tr>
<td>0x02
</td>
<td align="right">2</td>
<td>Available memory for the program in 16-byte chunks.
</td></tr>
<tr>
<td>0x2C
</td>
<td align="right">2</td>
<td>Segment address containing the program's environment variables.
</td></tr>
<tr>
<td>0x5C
</td>
<td align="right">16</td>
<td>Prepared FCB for first command line argument (unopened).
</td></tr>
<tr>
<td>0x6C
</td>
<td align="right">20</td>
<td>Prepared FCB for second command line argument (unopened).
</td></tr>
<tr>
<td>0x80
</td>
<td align="right">1</td>
<td>Length of command line.
</td></tr>
<tr>
<td>0x81
</td>
<td align="right">127</td>
<td>Command line contents.
</td></tr></tbody></table>
<p>This data structure could be found at the beginning of the data segment whose address was provided by DOS at program start in the DS and ES segment registers. Besides providing the program's command line verbatim at address 0x81, DOS also tried to construct two FCB's corresponding to the first two words in the command line, the purpose being to save work for the programmer in the common case where these words were filenames to operate on. Since these FCB's remained unopened, no problem would ensue even if these command line words did not refer to files.
</p><p>The initial address for the DTA was set to overlay the area in the PSP (at address 0x80) where the command line arguments were stored, such that a program needed to parse this area for command line arguments before invoking DOS functions that made use of the DTA (such as reading in a file record), unless the program took care to change the address of the DTA to some other memory region (or not use the DTA/FCB functions altogether, which soon became deprecated in favour of file handles).
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Record-oriented_filesystem" title="Record-oriented filesystem">Record-oriented filesystem</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-stanislavs-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-stanislavs_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-stanislavs_1-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-stanislavs_1-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://stanislavs.org/helppc/fcb.html">"FCB - Standard DOS File Control Block"</a>.</cite></span>
</li>
<li id="cite_note-Programacion_Ensamblador_MSDOS-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-Programacion_Ensamblador_MSDOS_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Programacion_Ensamblador_MSDOS_2-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Programacion_Ensamblador_MSDOS_2-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFRodriguez-Rosello1992" class="citation book cs1 cs1-prop-foreign-lang-source">Rodriguez-Rosello, Miguel (1992). <i>8088-8086/8087 Programacion Ensamblador En Entorno MSDOS</i> (in Spanish). Ediciones Anaya Multimedia. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>84-7614-128-9</bdi>.</cite></span>
</li>
<li id="cite_note-Duncan_1988_MS-DOS_Encyclopedia-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Duncan_1988_MS-DOS_Encyclopedia_3-5"><sup><i><b>f</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFZbikowskiAllenBallmerBorman1988" class="citation book cs1"><a href="Mark_Zbikowski" title="Mark Zbikowski">Zbikowski, Mark</a>; <a href="Paul_Allen" title="Paul Allen">Allen, Paul</a>; <a href="Steve_Ballmer" title="Steve Ballmer">Ballmer, Steve</a>; Borman, Reuben; Borman, Rob; Butler, John; Carroll, Chuck; Chamberlain, Mark; Chell, David; Colee, Mike; Courtney, Mike; Dryfoos, Mike; Duncan, Rachel; Eckhardt, Kurt; Evans, Eric; Farmer, Rick; <a href="Bill_Gates" title="Bill Gates">Gates, Bill</a>; Geary, Michael; Griffin, Bob; Hogarth, Doug; Johnson, James W.; Kermaani, Kaamel; King, Adrian; Koch, Reed; Landowski, James; Larson, Chris; Lennon, Thomas; Lipkie, Dan; <a href="Marc_McDonald" title="Marc McDonald">McDonald, Marc</a>; McKinney, Bruce; Martin, Pascal; Mathers, Estelle; Matthews, Bob; Melin, David; Mergentime, Charles; Nevin, Randy; Newell, Dan; Newell, Tani; Norris, David; O'Leary, Mike; <a href="Bob_O'Rear" title="Bob O'Rear">O'Rear, Bob</a>; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; <a href="Tim_Paterson" title="Tim Paterson">Paterson, Tim</a>; Perez, Gary; Peters, Chris; <a href="Charles_Petzold" title="Charles Petzold">Petzold, Charles</a>; Pollock, John; <a href="Aaron_R._Reynolds" class="mw-redirect" title="Aaron R. Reynolds">Reynolds, Aaron</a>; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Short, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988). "Technical advisors". <i>The MS-DOS Encyclopedia: versions 1.0 through 3.2</i>. By Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom; Kyle, Jim; <a href="Gordon_Letwin" title="Gordon Letwin">Letwin, Gordon</a>; <a href="Charles_Petzold" title="Charles Petzold">Petzold, Charles</a>; Rabinowitz, Chip; Tomlin, Jim; Wilton, Richard; Wolverton, Van; Wong, William; Woodcock, JoAnne (Completely reworked ed.). Redmond, Washington, USA: <a href="Microsoft_Press" title="Microsoft Press">Microsoft Press</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>1-55615-049-0</bdi>. <a href="LCCN_(identifier)" class="mw-redirect" title="LCCN (identifier)">LCCN</a> <a rel="nofollow" class="external text" href="https://lccn.loc.gov/87-21452">87-21452</a>. <a href="OCLC_(identifier)" class="mw-redirect" title="OCLC (identifier)">OCLC</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/oclc/16581341">16581341</a>.</cite> (xix+1570 pages; 26 cm) (NB. This edition was published in 1988 after extensive rework of the withdrawn 1986 first edition by a different team of authors. <a rel="nofollow" class="external autonumber" href="https://www.pcjs.org/pubs/pc/reference/microsoft/mspl13/msdos/encyclopedia/">[1]</a>)</span>
</li>
<li id="cite_note-Chappell_1994_DOS-Internals-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-Chappell_1994_DOS-Internals_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Chappell_1994_DOS-Internals_4-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Chappell_1994_DOS-Internals_4-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Chappell_1994_DOS-Internals_4-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Chappell_1994_DOS-Internals_4-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Chappell_1994_DOS-Internals_4-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-Chappell_1994_DOS-Internals_4-6"><sup><i><b>g</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFChappell1994" class="citation book cs1">Chappell, Geoff (January 1994). Schulman, Andrew; Pedersen, Amorette (eds.). <i>DOS Internals</i>. The Andrew Schulman Programming Series (1st printing, 1st ed.). <a href="Addison_Wesley_Publishing_Company" class="mw-redirect" title="Addison Wesley Publishing Company">Addison Wesley Publishing Company</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-201-60835-9</bdi>.</cite> (xxvi+738+iv pages, 3.5"-floppy <a rel="nofollow" class="external autonumber" href="https://web.archive.org/web/20190421200111/https://gopher.tildeverse.org/gopher.viste.fr/9/programming/PC/DOS/DOS%2520Internals/DOS_Internals.zip">[2]</a><a rel="nofollow" class="external autonumber" href="https://web.archive.org/web/20200222111608/https://www.pcjs.org/pubs/pc/programming/DOS_Internals/">[3]</a>) Errata: <a rel="nofollow" class="external autonumber" href="https://web.archive.org/web/20200222111742/http://www.geoffchappell.com/notes/dos/internals/">[4]</a><a rel="nofollow" class="external autonumber" href="https://web.archive.org/web/20200222111853/https://gopher.tildeverse.org/gopher.viste.fr/1/programming/PC/DOS/DOS%2520Internals/crtdrvr">[5]</a><a rel="nofollow" class="external autonumber" href="https://web.archive.org/web/20200222111945/https://gopher.tildeverse.org/gopher.viste.fr/1/programming/PC/DOS/DOS%2520Internals/xmswatch">[6]</a></span>
</li>
<li id="cite_note-Paul_1997_NWDOSTIP-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-Paul_1997_NWDOSTIP_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPaul1997" class="citation book cs1 cs1-prop-foreign-lang-source">Paul, Matthias R. (1997-07-30). <a rel="nofollow" class="external text" href="http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm"><i>NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds</i></a>. Release 157 (in German) (3 ed.). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170823014801/http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm">Archived</a> from the original on 2017-08-23<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-01-11</span></span>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite book}}</code>: </span><span class="cs1-visible-error citation-comment"><code class="cs1-code">|work=</code> ignored (help)</span> (NB. NWDOSTIP.TXT is a comprehensive work on <a href="Novell_DOS_7" class="mw-redirect" title="Novell DOS 7">Novell DOS 7</a> and <a href="OpenDOS_7.01" class="mw-redirect" title="OpenDOS 7.01">OpenDOS 7.01</a>, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.)</span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFBrown2000" class="citation web cs1"><a href="Ralf_D._Brown" class="mw-redirect" title="Ralf D. Brown">Brown, Ralf D.</a>, ed. (2000-07-17). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160619060655/http://www.ctyme.com/intr/rb-2574.htm">"210F: DOS 1+ - OPEN FILE USING FCB"</a>. <i><a href="Ralf_Brown's_Interrupt_List" title="Ralf Brown's Interrupt List">Ralf Brown's Interrupt List</a> 61</i>. ctyme.com. Archived from <a rel="nofollow" class="external text" href="http://www.ctyme.com/intr/rb-2574.htm">the original</a> on 2016-06-19.</cite> <a rel="nofollow" class="external autonumber" href="http://www.delorie.com/djgpp/doc/rbinter/id/85/25.html">[7]</a></li>
<li><cite id="CITEREFElliott2002" class="citation web cs1">Elliott, John C. (2002-12-29). <a rel="nofollow" class="external text" href="http://seasip.info/Cpm/fcb.html">"CP/M File Control Block"</a>. <i>Seasip.info</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170823020604/http://seasip.info/Cpm/fcb.html">Archived</a> from the original on 2017-08-23<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-08-23</span></span>.</cite></li>
<li><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20170823015253/http://obsolescence.wixsite.com/obsolescence/cpm-internals?_escaped_fragment_=cpm-internals%2Fc247i#!cpm-internals/c247i">"CP/M Internals"</a>. 2017-08-23. Archived from <a rel="nofollow" class="external text" href="http://obsolescence.wix.com/obsolescence#!cpm-internals/c247i">the original</a> on 2017-08-23<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-08-23</span></span>.</cite> - In-depth description of CP/M FCB</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Digital_Research158" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Digital_Research158" style="font-size:114%;margin:0 4em"><a href="Digital_Research" title="Digital Research">Digital Research</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Gary_Kildall" title="Gary Kildall">Gary Kildall</a></li>
<li><a href="Dorothy_McEwen_Kildall" title="Dorothy McEwen Kildall">Dorothy McEwen Kildall</a></li>
<li><a href="Gordon_Eubanks" title="Gordon Eubanks">Gordon Eubanks</a></li>
<li><a href="Tom_Rolander" title="Tom Rolander">Tom Rolander</a></li>
<li><a href="Kathryn_Strutynski" title="Kathryn Strutynski">Kathryn Strutynski</a></li>
<li><a href="Edward_R._McCracken" title="Edward R. McCracken">Edward R. McCracken</a></li></ul>
</div></td><td class="noviewer navbox-image" rowspan="3" style="width:1px;padding:0 0 0 2px"><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Products</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Programming_language" title="Programming language">Programming<br>languages</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="PL/M" title="PL/M">PL/M</a></li>
<li><a href="CBASIC" title="CBASIC">CBASIC</a></li>
<li><a href="Dr._Logo" class="mw-redirect" title="Dr. Logo">Dr. Logo</a></li>
<li><a href="Dr._Scheme" class="mw-redirect" title="Dr. Scheme">Dr. Scheme</a></li>
<li><a href="Atari_Pascal" title="Atari Pascal">Atari Pascal</a></li>
<li><a href="Pascal/MT%2B" title="Pascal/MT+">Pascal/MT+</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Software" title="Software">Software</a>,<br>technology</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="BatteryMAX" title="BatteryMAX">BatteryMAX</a></li>
<li><a href="CMD_file_(CP/M)" title="CMD file (CP/M)">CMD file</a></li>
<li><a href="COM_file" title="COM file">COM file</a></li>
<li><a href="DOS_Protected_Mode_Services" title="DOS Protected Mode Services">DOS Protected Mode Services</a></li>
<li><a href="Dynamic_debugging_technique" title="Dynamic debugging technique">Dynamic Debugging Tool</a></li>
<li><a href="Graphics_Environment_Manager" class="mw-redirect" title="Graphics Environment Manager">GEM</a>
<ul><li><a href="GEM_character_set" title="GEM character set">GEM character set</a></li></ul></li>
<li><a href="Peripheral_Interchange_Program" title="Peripheral Interchange Program">Peripheral Interchange Program</a></li>
<li><a href="Resource_construction_set" title="Resource construction set">Resource construction set</a></li>
<li><a href="ViewMAX" title="ViewMAX">ViewMAX</a></li>
<li><a href="XLT86" class="mw-redirect" title="XLT86">XLT86</a></li>
<li><a href="Zero_page_(CP/M)" title="Zero page (CP/M)">Zero page</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Operating_system" title="Operating system">Operating systems</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CP/M" title="CP/M">CP/M</a></li>
<li><a href="CP/M-86" title="CP/M-86">CP/M-86</a></li>
<li><a href="DOS_Plus" title="DOS Plus">DOS Plus</a></li>
<li><a href="DR-DOS" title="DR-DOS">DR-DOS</a></li>
<li><a href="FlexOS" title="FlexOS">FlexOS</a></li>
<li><a href="IMDOS" title="IMDOS">IMDOS</a></li>
<li><a href="MP/M" title="MP/M">MP/M</a></li>
<li><a href="Multiuser_DOS" title="Multiuser DOS">Multiuser DOS</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="CPMulator" title="CPMulator">CPMulator</a></li>
<li><a href="Star_Trek_project" title="Star Trek project">Star Trek project</a></li>
<li><a href="List_of_computers_running_CP/M" title="List of computers running CP/M">List of computers running CP/M</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="3"><div><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-11-28" href="https://en.wikipedia.org/wiki/?title=File_Control_Block&oldid=1260083507">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>